const Koa = require('koa');
const app = new Koa();

const Router = require('koa-router');
const router = new Router();
//====================================================================================
//入口控制
app.use(async (ctx, next) => {
	//允许来自所有域名请求(不携带cookie请求可以用*，如果有携带cookie请求必须指定域名)
	ctx.set('Access-Control-Allow-Origin', '*');
	// 设置所允许的HTTP请求方法
	ctx.set('Access-Control-Allow-Methods', 'OPTIONS, GET, PUT, POST, DELETE');
	//字段是必需的。它也是一个逗号分隔的字符串，表明服务器支持的所有头信息字段.
	// 服务器收到请求以后，检查了Origin、Access-Control-Request-Method和Access-Control-Request-Headers
	// 字段以后，确认允许跨源请求，就可以做出回应。
	ctx.set('Access-Control-Allow-Headers', 'x-requested-with, accept, origin, content-type');
	// 该字段可选。它的值是一个布尔值，表示是否允许发送Cookie。默认情况下，Cookie不包括在CORS请求之中。
	// 当设置成允许请求携带cookie时，需要保证"Access-Control-Allow-Origin"是服务器有的域名，而不能是"*";
	ctx.set('Access-Control-Allow-Credentials', true);
	await next();
});




const commonRoute = require('./module/common.js');
const classRoute = require('./module/class.js');
const studentRoute = require('./module/student.js');

// router.use('/api/common', commonRoute)
router.use('/api/class', classRoute)
router.use('/api/student', studentRoute)


app
.use(router.routes())
.use(router.allowedMethods());


app.listen(3000, _ => console.log('run : 3000'))
